package tmallnr

import (
	"sync"
)

// NrtCrmActivityDetailDto 结构体
type NrtCrmActivityDetailDto struct {
	// 状态
	StatusStr string `json:"status_str,omitempty" xml:"status_str,omitempty"`
	// 结束时间
	EndTimeStr string `json:"end_time_str,omitempty" xml:"end_time_str,omitempty"`
	// 开始时间
	StartTimeStr string `json:"start_time_str,omitempty" xml:"start_time_str,omitempty"`
	// 规则
	Rule string `json:"rule,omitempty" xml:"rule,omitempty"`
	// 摊位名称
	StoreName string `json:"store_name,omitempty" xml:"store_name,omitempty"`
	// 导购员名称
	GuiderName string `json:"guider_name,omitempty" xml:"guider_name,omitempty"`
	// 活动标题
	Title string `json:"title,omitempty" xml:"title,omitempty"`
	// 摊位地址
	StoreAddress string `json:"store_address,omitempty" xml:"store_address,omitempty"`
	// 有价礼包List
	TmpSceneActivityIdList string `json:"tmp_scene_activity_id_list,omitempty" xml:"tmp_scene_activity_id_list,omitempty"`
	// 头图
	BannerUrl string `json:"banner_url,omitempty" xml:"banner_url,omitempty"`
	// 留资人数
	GuiderCustomerNum int64 `json:"guider_customer_num,omitempty" xml:"guider_customer_num,omitempty"`
	// 总留资人数
	TotalCustomerNum int64 `json:"total_customer_num,omitempty" xml:"total_customer_num,omitempty"`
	// 总uv
	TotalUv int64 `json:"total_uv,omitempty" xml:"total_uv,omitempty"`
	// 总pv
	TotalPv int64 `json:"total_pv,omitempty" xml:"total_pv,omitempty"`
	// 摊位id
	StoreId int64 `json:"store_id,omitempty" xml:"store_id,omitempty"`
	// 导购员员工id
	GuiderId int64 `json:"guider_id,omitempty" xml:"guider_id,omitempty"`
	// 活动ID
	Id int64 `json:"id,omitempty" xml:"id,omitempty"`
	// 100:已发布，-100:失效，200:已结束
	Status int64 `json:"status,omitempty" xml:"status,omitempty"`
	// 直播对象
	NrtCrmLiveDTO *NrtCrmLiveDto `json:"nrt_crm_live_d_t_o,omitempty" xml:"nrt_crm_live_d_t_o,omitempty"`
}

var poolNrtCrmActivityDetailDto = sync.Pool{
	New: func() any {
		return new(NrtCrmActivityDetailDto)
	},
}

// GetNrtCrmActivityDetailDto() 从对象池中获取NrtCrmActivityDetailDto
func GetNrtCrmActivityDetailDto() *NrtCrmActivityDetailDto {
	return poolNrtCrmActivityDetailDto.Get().(*NrtCrmActivityDetailDto)
}

// ReleaseNrtCrmActivityDetailDto 释放NrtCrmActivityDetailDto
func ReleaseNrtCrmActivityDetailDto(v *NrtCrmActivityDetailDto) {
	v.StatusStr = ""
	v.EndTimeStr = ""
	v.StartTimeStr = ""
	v.Rule = ""
	v.StoreName = ""
	v.GuiderName = ""
	v.Title = ""
	v.StoreAddress = ""
	v.TmpSceneActivityIdList = ""
	v.BannerUrl = ""
	v.GuiderCustomerNum = 0
	v.TotalCustomerNum = 0
	v.TotalUv = 0
	v.TotalPv = 0
	v.StoreId = 0
	v.GuiderId = 0
	v.Id = 0
	v.Status = 0
	v.NrtCrmLiveDTO = nil
	poolNrtCrmActivityDetailDto.Put(v)
}
